from CoreEvents import InstantEvent, DataRequestEvent

################################################################################
class KeyPressEvent(InstantEvent):
    """
    Event fired when a Key Press is detected
        EventData Contains :
            nKeyCode : Identfier
            bDown : True if down, False if Raised
            sUnicode : Printable Character (if applicable)
    """
    sName="Key Press Event"
################################################################################

################################################################################
class KeyDownEvent(InstantEvent):
    """
    Event fired when a Key is pressed down
        EventData Contains :
            nKeyCode : Identfier
            sUnicode : Printable Character (if applicable)
    """
    sName="Key Down Event"
################################################################################

################################################################################
class KeyUpEvent(InstantEvent):
    """
    Event fired when a Key is pressed down
        EventData Contains :
            nKeyCode : Identfier
            sUnicode : Printable Character (if applicable)
    """
    sName="Key Up Event"
################################################################################

################################################################################
class PlayerMoveUpEvent(InstantEvent):
    """
    Event fired when the Player presses the key that is assigned to 'Player 
        Move Up'
    """
    sName="Player Move Up Event"
################################################################################

################################################################################
class PlayerMoveDownEvent(InstantEvent):
    """
    Event fired when the Player presses the key that is assigned to 'Player 
        Move Down'
    """
    sName="Player Move Down Event"
################################################################################

################################################################################
class PlayerMoveLeftEvent(InstantEvent):
    """
    Event fired when the Player presses the key that is assigned to 'Player 
        Move Left'
    """
    sName="Player Move Left Event"
################################################################################

################################################################################
class PlayerMoveRightEvent(InstantEvent):
    """
    Event fired when the Player presses the key that is assigned to 'Player 
        Move Right'
    """
    sName="Player Move Right Event"
################################################################################

################################################################################
class ModuleLoadEvent(InstantEvent):
    """
    Event fired when the Player presses the key that is assigned to 'Player 
        Move Right'
    """
    sName="Module Load Event"
################################################################################

################################################################################
class DataLoadEvent(InstantEvent):
    """
    Event fired when the Player presses the key that is assigned to 'Player 
        Move Right'
    """
    sName="Data Load Event"
################################################################################

################################################################################
class BackgroundKeyRequestEvent(DataRequestEvent):
    """
    Event Sent to request Background Image Key
    """
    sName="Background Image Key Request Event"
################################################################################

################################################################################
class ImageRequestEvent(DataRequestEvent):
    """
    Event Sent to request Image data
    """
    sName="Image Request Event"
################################################################################

################################################################################
class SteeringRequestEvent(DataRequestEvent):
    """
    Event Sent to request Steering Manager
    """
    sName="Steering Request Event"
################################################################################